home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / apps / circuits / spice2g6.z / spice2g6 / spice / Fortran / dmpmem.f < prev    next >
Encoding:
Text File  |  1989-02-03  |  3.0 KB  |  70 lines

  1.       subroutine dmpmem(ipntr)
  2.       implicit double precision (a-h,o-z)
  3. c
  4. c      this routine prints out the current memory allocation map.
  5. c *ipntr* is the table pointer of the current memory manager call
  6. c
  7. c spice version 2g.6  sccsid=tabinf 3/15/83
  8.       common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem,
  9.      1   isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize,
  10.      2   junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr,
  11.      3   nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1,
  12.      4   lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd,
  13.      5   imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval,
  14.      6   loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt,
  15.      7   irowno,jcolno,nttbr,nttar,lvntmp
  16. c spice version 2g.6  sccsid=status 3/15/83
  17.       common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet,
  18.      1   xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon,
  19.      2   iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile
  20. c spice version 2g.6  sccsid=memmgr 3/15/83
  21.       common /memmgr/ cpyknt,istack(1),lorg,icore,maxcor,maxuse,memavl,
  22.      1   ldval,numblk,loctab,ltab,ifwa,nwoff,ntab,maxmem,memerr,nwd4,
  23.      2   nwd8,nwd16
  24.       dimension ipntr(1)
  25.       dimension aptr(75)
  26.       data aptr /6hielmnt,6hisbckt,6hnsbckt,6hiunsat,6hnunsat,6hitemps,
  27.      1 6hnumtem,6hisens ,6hnsens ,6hifour ,6hnfour ,6hifield,
  28.      2 6hicode ,6hidelim,6hicolum,6hinsize,
  29.      3 6hjunode,6hlsbkpt,6hnumbkp,6hiorder,6hjmnode,
  30.      4 6hiur   ,6hiuc   ,6hilc   ,6hilr   ,6hnumoff,6hisr   ,
  31.      5 6hnmoffc,6hiseq  ,6hiseq1  ,6hneqn  ,6hnodevs,
  32.      6 6hndiag ,6hiswap ,6hiequa ,6hmacins,6hlvnim1,
  33.      7 6hlx0   ,6hlvn   ,6hlynl  ,6hlyu   ,6hlyl   ,
  34.      8 6hlx1   ,6hlx2   ,6hlx3   ,6hlx4   ,6hlx5   ,6hlx6   ,
  35.      9 6hlx7   ,6hld0   ,6hld1   ,6hltd   ,6himynl ,6himvn  ,6hlcvn  ,
  36.      * 6hnsnod ,6hnsmat ,6hnsval ,6hicnod ,6hicmat ,6hicval ,6hloutpt,
  37.      * 6hlpol  ,6hlzer  ,6hirswpf,6hirswpr,6hicswpf,6hicswpr,6hirpt  ,
  38.      * 6hjcpt  ,6hirowno,6hjcolno,6hnttbr ,6hnttar ,6hlvntmp/
  39.       data ablnk /1h /
  40. c
  41.       iaddr=locf(ielmnt)-1
  42.       itemp=locf(ipntr(1))-iaddr
  43.       anam=ablnk
  44.       if(itemp.gt.0.and.itemp.le.75) anam=aptr(itemp)
  45.       iadr=locf(ipntr(1))
  46.       write (iofile,5) anam,iadr,icore,maxmem,memavl,ldval
  47.     5 format('0current pointer ',a6,'@ = z',i6,/' corsiz=',i7,
  48.      1  /' maxmem=',i7,/' avlspc=',i7,/' ldval=',i7,
  49.      2  /1h0,24x,'memory allocation map'/14x,'blknum memorg memsiz',
  50.      3  '  memuse usrptr  addr    name')
  51.       ltab1=loctab
  52.       do 20 i=1,numblk
  53.       morg=istack(ltab1+1)
  54.       msiz=istack(ltab1+2)
  55.       muse=istack(ltab1+3)
  56.       madr=istack(ltab1+4)
  57.       anam=ablnk
  58.       ndex=madr-iaddr
  59.       if(ndex.gt.0.and.ndex.le.75) anam=aptr(ndex)
  60.       jptr=0
  61.       if (madr.gt.0) jptr=istack(lorg+madr)
  62.       write (iofile,11) i,morg,msiz,muse,jptr,madr,anam
  63.    11 format(13x,5i7,3x,i7,'z',1x,a6)
  64.       ltab1=ltab1+ntab
  65.    20 continue
  66.       write (iofile,21)
  67.    21 format(1h0,24x,'end of allocation map'/)
  68.       return
  69.       end
  70.